package com.tudouji.project.document.service.impl;

import java.util.*;

import com.alibaba.fastjson.JSON;
import com.tudouji.common.utils.DateUtils;
import com.tudouji.project.document.domain.DocumentDefine;
import com.tudouji.project.document.mapper.DocumentDefineMapper;
import com.tudouji.project.document.service.IDocumentDefineService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 单证/协议定义Service业务层处理
 *
 * @author coal
 * @date 2021-12-06
 */
@Slf4j
@Service
public class DocumentDefineServiceImpl implements IDocumentDefineService {
    @Autowired
    private DocumentDefineMapper documentDefineMapper;

    /**
     * 查询单证/协议定义
     *
     * @param id 单证/协议定义ID
     * @return 单证/协议定义
     */
    @Override
    public DocumentDefine selectDocumentDefineById(Long id) {
        return documentDefineMapper.selectDocumentDefineById(id);
    }

    /**
     * 查询单证/协议定义列表
     *
     * @param documentDefine 单证/协议定义
     * @return 单证/协议定义
     */
    @Override
    public List<DocumentDefine> selectDocumentDefineList(DocumentDefine documentDefine) {
        return documentDefineMapper.selectDocumentDefineList(documentDefine);
    }

    /**
     * 新增单证/协议定义
     *
     * @param documentDefine 单证/协议定义
     * @return 结果
     */
    @Override
    public int insertDocumentDefine(DocumentDefine documentDefine) {
        documentDefine.setCreateTime(DateUtils.getNowDate());
        return documentDefineMapper.insertDocumentDefine(documentDefine);
    }

    /**
     * 修改单证/协议定义
     *
     * @param documentDefine 单证/协议定义
     * @return 结果
     */
    @Override
    public int updateDocumentDefine(DocumentDefine documentDefine) {
        documentDefine.setUpdateTime(DateUtils.getNowDate());
        return documentDefineMapper.updateDocumentDefine(documentDefine);
    }

    /**
     * 批量删除单证/协议定义
     *
     * @param ids 需要删除的单证/协议定义ID
     * @return 结果
     */
    @Override
    public int deleteDocumentDefineByIds(Long[] ids) {
        return documentDefineMapper.deleteDocumentDefineByIds(ids);
    }

    /**
     * 删除单证/协议定义信息
     *
     * @param id 单证/协议定义ID
     * @return 结果
     */
    @Override
    public int deleteDocumentDefineById(Long id) {
        return documentDefineMapper.deleteDocumentDefineById(id);
    }
}
